home *** CD-ROM | disk | FTP | other *** search
/ Aminet 8 / Aminet 8 (1995)(GTI - Schatztruhe)[!][Oct 1995].iso / Aminet / comm / xeno / MList132.lha / mlist / docs / MegaList.doc next >
Text File  |  1995-09-05  |  15KB  |  578 lines

  1. This file documents MegaList.
  2.  
  3.    Copyright (C) 1991, 1992, 1993, 1994, 1995 by Magnus Lilja.
  4.  
  5. MegaList
  6. ********
  7.  
  8.    MegaList manual updated: 14 June 1995
  9.  
  10.    MegaList is a filelisting utilitiy for the Xenolink BBS. The program
  11. is able to produce filelists and the add/update them to the
  12. filecatalouge.  You can also create AmigaGuide-compatible filelists!
  13.  
  14. Copying and distribution notes
  15. ==============================
  16.  
  17.    This program is free to copy and spread. You may spread the 
  18. program via BBS, FTP-sites and through ADS-alike systems, in other
  19. words spread it!
  20.  
  21.    The only condition is that this archive is intact and that NO files
  22. are deleted/added (except those annoying camefrommybbs.displayme,
  23. although I personnally dislike them).
  24.  
  25. Requirements
  26. ============
  27.  
  28.    In order to run MegaList 1.32 you need AmigaDos v2.0 or higher and
  29. Xenolink Z3a or higher. That's all!
  30.  
  31. Installation
  32. ============
  33.  
  34.    Copy MegaList to your path, preferrably xenolink:utilities/ and copy
  35. MegaList.cfg to XCONFIG:MegaList/
  36.  
  37.    Now you need to change some things in the default MegaList.cfg, see
  38. Configuration for more info about the format of the configuration file.
  39.  
  40. Configuration
  41. =============
  42.  
  43.    The configuration file is called MegaList.cfg and should be located
  44. in XCONFIG:MegaList/ Each filelist takes about 1kB of memory.
  45.  
  46.    MegaList 1.32 recognizes the following keywords:
  47.  
  48. BUFFERS
  49. =======
  50.  
  51.    Syntax: BUFFERS <number of files>
  52.  
  53.    Description:
  54.  
  55.    Xenolink can preload files and that makes MegaList a bit faster.
  56. Note that this may not be valid in future versions of Xenolink.
  57.  
  58. PACK
  59. ====
  60.  
  61.    Syntax: PACK <extension> <pack string>
  62.  
  63.    Description:
  64.  
  65.    With the PACK keyword you specify the different archiving methods
  66. that MegaList can use. <extension> is i.e LZH,LHA,ZOO,ZIP,ARJ or
  67. something like that. <pack string> could be "lha -2 u". This can look
  68. like this:
  69.  
  70.      PACK LZH lha -2 u
  71.      PACK LHA lha -2 u
  72.  
  73.    You may specify up to 10 different packing methods.
  74.  
  75. FILELIST
  76. ========
  77.  
  78.    Syntax: FILELIST <section number> or <upload directory>
  79.  
  80.    Description:
  81.  
  82.    FILELIST marks the beginning of a new filelist. <section number> is
  83. the file section number that the filelist should be placed in.
  84.  
  85.    If you don't want the filelist to be added to Xenolink's
  86. filecataloge type a directory instead. The path must end with '/' or
  87. ':'.
  88.  
  89.    After FILELIST comes the rest of the keywords that specifies how this
  90. particular filelist should look like.
  91.  
  92.    When you have finished one filelist type ENDFILELIST to tell MegaList
  93. that this is the end of this filelist. After ENDFILELIST you can have
  94. another FILELIST entry.
  95.  
  96. ADDLINEFEED
  97. ===========
  98.  
  99.    Syntax: ADDLINEFEED YES/NO
  100.  
  101.    Description:
  102.  
  103.    Do you want a linefeed (\r) added after each line?
  104.  
  105. ALWAYSPRINTHEADER
  106. =================
  107.  
  108.    Syntax: ALWAYSPRINTHEADER YES/NO
  109.  
  110.    Description:
  111.  
  112.    If you select NO MegaList won't add sectionheader/footer if there
  113. are no files printed in that section. YES means that MegaList always
  114. prints sectionheader/footer.
  115.  
  116. AMIGAGUIDE
  117. ==========
  118.  
  119.    Syntax: AMIGAGUIDE YES/NO
  120.  
  121.    Description:
  122.  
  123.    If you want to create an AmigaGuide filelist then set this option to
  124. YES. In that case be sure to fill in the AMIGAGUIDEHEADER field also.
  125.  
  126. AMIGAGUIDEHEADER
  127. ================
  128.  
  129.    Syntax: AMIGAGUIDEHEADER <string>
  130.  
  131.    Description:
  132.  
  133.    The string is parsed and will be shown in the title of the AmigaGuide
  134. window. Possible specifiers are:
  135.  
  136.      %n - Filesection number
  137.      %N - Filesection name
  138.      %D - Current date
  139.  
  140. BANNER
  141. ======
  142.  
  143.    Syntax: BANNER <filename>
  144.  
  145.    Description:
  146.  
  147.    MegaList will put the file <filename> in the beginning of the
  148. filelist.
  149.  
  150. BEGINLIST
  151. =========
  152.  
  153.    Syntax: BEGINLIST[FILE] <string>
  154.  
  155.    Description:
  156.  
  157.    The string <string> will be parsed and then put in the beginning of
  158. the filelist after the BANNER file. Maximum length is 1000 chars, if
  159. you want longer use the method below.  You can put C-type formatting
  160. characters in the string such as:
  161.  
  162.      \n       Return
  163.      \r       Linefeed
  164.  
  165.    and if you put %D in the string MegaList will print the current date
  166. instead if %D.
  167.  
  168.    If you want to load the template from a textfile then use
  169. BEGINLISTFILE <full filename> instead of just BEGINLIST.
  170.  
  171. DESCLEN
  172. =======
  173.  
  174.    Syntax: DESCLEN <max length>
  175.  
  176.    Description:
  177.  
  178.    Since you can have long descriptions in Xenolink Megalist can wrap
  179. the description after <max length> characters. See INDENT, of you to
  180. make the output look good after a wrapped description.
  181.  
  182. DESCRIPTION
  183. ===========
  184.  
  185.    Syntax: DESCRIPTION <string>
  186.  
  187.    Description:
  188.  
  189.    This is the description that will appear in Xenolink's file catalog
  190. for the filelist. You can use C-type formatting characters as well as
  191.  
  192.    %D - current date.
  193.  
  194. ENDBANNER
  195. =========
  196.  
  197.    Syntax: ENDBANNER <filename>
  198.  
  199.    Megalist will put this file at the end of the filelist. If you don't
  200. have any file then leave out this keyword.
  201.  
  202. ENDFILELIST
  203. ===========
  204.  
  205.    Syntax: ENDFILELIST
  206.  
  207.    Description:
  208.  
  209.    ENDFILELIST marks the end of a filelist. After ENDFILELIST you may
  210. begin with another filelist with the FILELIST command. See FILELIST, for
  211. more info.
  212.  
  213. ENDLIST
  214. =======
  215.  
  216.    Syntax: ENDLIST[FILE] <string>
  217.  
  218.    Description:
  219.  
  220.    The string <string> will be parsed and then put at the end of the
  221. filelist. Maximum length 1000 chars, if you want longer use the method
  222. below.
  223.  
  224.    You can type C-type formatting characters as well as:
  225.  
  226.      %D - Current date.
  227.      %B - Total number of bytes in list.
  228.      %F - Total number of files in list.
  229.      %K - Will expand to "bytes" or "kbytes" depending on how large your BBS is.
  230.  
  231.    If you want to load the template from a textfile then use
  232. ENDLISTFILE <full filename> instead of just ENDLIST.
  233.  
  234. EXTENSION
  235. =========
  236.  
  237.    Syntax: EXTENSION <extension>
  238.  
  239.    <extension> is the unpacked filelist's extension, i.e .TXT
  240.  
  241. FILEENTRY
  242. =========
  243.  
  244.    Syntax: FILEENTRY <string>
  245.  
  246.    Description:
  247.  
  248.    This is the format string for each fileentry in the filelist. In
  249. addition to C-type specifiers you can have these:
  250.  
  251.      %N - Filename
  252.      %s - Filesize in bytes
  253.      %d - Description
  254.      %D - Date uploaded
  255.      %a - Number of accesses
  256.      %u - Uploader
  257.      %p - Privilege
  258.      %f - Freedownload (if the file is free an asterisc (*) will appear)
  259.  
  260.    Maximum length is 200 characters.
  261.  
  262. FREEDOWNLOAD
  263. ============
  264.  
  265.    §yntax: FREEDOWNLOAD YES/NO
  266.  
  267.    Description:
  268.  
  269.    Set the free-download flag?
  270.  
  271. INCLUDEUNVALIDATED
  272. ==================
  273.  
  274.    Syntax: INCLUDEUNVALIDATED YES/NO
  275.  
  276.    Description:
  277.  
  278.    Do you want unvalidated files to be included in the list?
  279.  
  280. INDENT
  281. ======
  282.  
  283.    Syntax: INDENT <number of spaces>
  284.  
  285.    Description:
  286.  
  287.    With INDENT you specify how many spaces MegaList should put before a
  288. wrapped description.
  289.  
  290.      GTB14.lha     500123  14-Oct-92    GadToolsBox v1.4 . A very
  291.                                         good GUI-builder.
  292.  
  293.    And if you forget set INDENT to 0 it will look like this:
  294.  
  295.      GTB14.lha     500123  14-Oct-92    GadToolsBox v1.4 . A very
  296.      good GUI-builder.
  297.  
  298.    See DESCLEN for more info about long descriptions.
  299.  
  300. NAME
  301. ====
  302.  
  303.    Syntax: NAME <filename>
  304.  
  305.    Description:
  306.  
  307.    This is the name of this filelist, without any extension, like:
  308.  
  309.      FILES
  310.      200-222
  311.      FILE030
  312.  
  313. PACKED
  314. ======
  315.  
  316.    Syntax: PACKED <packmethod>
  317.  
  318.    Description:
  319.  
  320.    With PACKED you tell MegaList which packmethod you want to use on
  321. this filelist. <packmethod> must be one of those you specified with the
  322. PACK keyword.
  323.  
  324. PACKFILELIST
  325. ============
  326.  
  327.    Syntax: PACKFILELIST YES/NO
  328.  
  329.    Description:
  330.  
  331.    Do you want the list to be packed? If yes, it will be packed using
  332. the method described by PACKED keyword.
  333.  
  334. PRINTMEGALISTINFO
  335. =================
  336.  
  337.    Syntax: PRINTMEGALISTINFO YES/NO
  338.  
  339.    Description:
  340.  
  341.    Registered users of MegaList can turn off the text at the end of each
  342. filelist that MegaList adds. (It's the text saying MegaList registered
  343. to xxxx yyy).
  344.  
  345. SECTIONFOOTER
  346. =============
  347.  
  348.    Syntax: SECTIONFOOTER[FOOTER] <string>
  349.  
  350.    Description:
  351.  
  352.    This string is parsed and inserted after the end of each filesection.
  353. Maximum length is 1000 chars, if you want longer use the method below.
  354. Optional specifiers are:
  355.  
  356.      %n - Filesection number
  357.      %N - Filesection name
  358.      %F - Number of files in section
  359.      %B - Number if bytes in this section
  360.      %D - Current date
  361.  
  362.    If you want to load the template from a textfile then use
  363. SECTIONFOOTERFILE <full filename> instead of just SECTIONFOOTER.
  364.  
  365. SECTIONHEADER
  366. =============
  367.  
  368.    Syntax: SECTIONHEADER[FILE] <string>
  369.  
  370.    Description:
  371.  
  372.    The string is parsed and inserted before each filesection.  Maximum
  373. length is 1000 chars, if you want longer use the method below.
  374. Possible specifiers are:
  375.  
  376.      %n - Filesection number
  377.      %N - Filesection name
  378.      %D - Current date
  379.  
  380.    If you want to load the template from a textfile then use
  381. SECTIONHEADERFILE <full filename> instead of just SECTIONHEADER.
  382.  
  383. SECTIONS
  384. ========
  385.  
  386.    Syntax: SECTIONS <section list>
  387.  
  388.    Description:
  389.  
  390.    <section list> is a list of which filesection to include in this
  391. filelist.
  392.  
  393.      SECTIONS 10-15,23,40-96,32
  394.      meaning, include sections 10 to 15, 40 to 96, 23 and 32 if they exist.
  395.  
  396.    Note that all sections between 40 and 96 don't need to exist. If
  397. MegaList can't find a section it continues with the next.
  398.  
  399. SINCE
  400. =====
  401.  
  402.    Syntax: SINCE <number of days> or SINCE LASTSCAN
  403.  
  404.    Description:
  405.  
  406.    If you want to make a 'Last 15 days' list, then use SINCE 15 or how
  407. many days back you want.
  408.  
  409.    If you use SINCE LASTSCAN MegaList will include all files uploaded
  410. after the last MegaList scan.
  411.  
  412. SORT
  413. ====
  414.  
  415.    Syntax: SORT [ALPHA|DATE|SIZE]
  416.  
  417.    Description:
  418.  
  419.    MegaList is able to sort the files in one section before printing it.
  420.  
  421.    You can sort files by their names, sizes and how old they are. By
  422. default sorting is done backwards. To print a list forwards use FALPHA,
  423. FDATE, FSIZE.
  424.  
  425.    SORT FALPHA
  426.  
  427.      FILE9                 6 19-Jul-92   [000] file9desc
  428.      SASCOPTS             47 18-Jul-92   [000] blafs
  429.      TEST.Q               31 27-Jul-92   [000] testing
  430.      XLINFO.LNK          112 12-Jun-92   [000] Test program
  431.  
  432.    SORT FDATE
  433.  
  434.      XLINFO.LNK          112 12-Jun-92   [000] Test program
  435.      SASCOPTS             47 18-Jul-92   [000] blafs
  436.      FILE9                 6 19-Jul-92   [000] file9desc
  437.      TEST.Q               31 27-Jul-92   [000] testing
  438.  
  439.    SORT FSIZE
  440.  
  441.      FILE9                 6 19-Jul-92   [000] file9desc
  442.      TEST.Q               31 27-Jul-92   [000] testing
  443.      SASCOPTS             47 18-Jul-92   [000] blafs
  444.      XLINFO.LNK          112 12-Jun-92   [000] Test program
  445.  
  446.    and default sorting
  447.  
  448.    SORT ALPHA
  449.  
  450.      XLINFO.LNK          112 12-Jun-92   [000] Test program
  451.      TEST.Q               31 27-Jul-92   [000] testing
  452.      SASCOPTS             47 18-Jul-92   [000] blafs
  453.      FILE9                 6 19-Jul-92   [000] file9desc
  454.  
  455.    SORT DATE
  456.  
  457.      TEST.Q               31 27-Jul-92   [000] testing
  458.      FILE9                 6 19-Jul-92   [000] file9desc
  459.      SASCOPTS             47 18-Jul-92   [000] blafs
  460.      XLINFO.LNK          112 12-Jun-92   [000] Test program
  461.  
  462.    SORT SIZE
  463.  
  464.      XLINFO.LNK          112 12-Jun-92   [000] Test program
  465.      SASCOPTS             47 18-Jul-92   [000] blafs
  466.      TEST.Q               31 27-Jul-92   [000] testing
  467.      FILE5                 6 19-Jul-92   [000] file5desc
  468.  
  469.    Note that sorting is memory consuming. A future version may include a
  470. option that needs less memory when sorting but it will take longer time.
  471.  
  472. UPDATEFILE
  473. ==========
  474.  
  475.    Syntax: UPDATEFILE YES/NO
  476.  
  477.    Description:
  478.  
  479.    Should MegaList update the fileentry in Xenolink's file-cataloge?
  480.  
  481. UPLOADUNPACKEDFILE
  482. ==================
  483.  
  484.    Syntax: UPLOADUNPACKEDFILE
  485.  
  486.    Description:
  487.  
  488.    Do you want to upload the textfile that hasn't been packed?
  489.  
  490. MegaList usage
  491. ==============
  492.  
  493.    Once you have configured MegaList.cfg and tested the program by
  494. typing MegaList in the CLI you can put MegaList in your nightly script.
  495. This way the filelists are always updated.
  496.  
  497.    You can have multiple config-files for MegaList if you want to, and
  498. in order to use another config than the default XCONFIG:MegaList.cfg
  499. just type:
  500.  
  501.      MegaList CONFIG <full pathname of config>
  502.  
  503.    When running MegaList will create a new filelist, update the old ones
  504. in the filecatalouge.
  505.  
  506.    MegaList now has a special mode so it's easy to create a door from
  507. which a user can create a filelist and download it.
  508.  
  509.      MegaList CONFIG <configfile> USERNAME <username> LISTNAME <filelistname>
  510.               SINCE <number of days> PACKFILELIST
  511.  
  512.    USERNAME and LISTNAME must be specified. LISTNAME overrides the
  513. FILENAME in the config-file.
  514.  
  515.    Example:
  516.      MegaList CONFIG xconfig:MegaList/mluser.cfg USERNAME "Magnus Lilja"
  517.               LISTNAME USERLIST SINCE 15 PACKFILELIST
  518.  
  519.    This will force MegaList to create a filelist called
  520. USERLIST+extension and include files that are not more than 15 days
  521. old. Included sections will be; All sections specified by SECTIONS
  522. keyword and all sections that the user "Magnus Lilja" has masked in.
  523.  
  524.    With this function you can create a door which calls MegaList and
  525. then lets the user download his personal filelist.
  526.  
  527.    See MegaList.rexx for a simple example (don't know if it works).
  528.  
  529.    You can break MegaList by pressing CTRL-C.
  530.  
  531. Registration
  532. ============
  533.  
  534.    My philosophy is not to stop any users from using any of my programs
  535. functions, therefore registration is 100% up to you. The only change
  536. for you when you have got your keyfile is that some of my utilities
  537. print out [Registered].  So, if you use my programs and like to give
  538. the author some support just read through the file 'Registration.txt'
  539. for more info.
  540.  
  541. Bugreports
  542. ==========
  543.  
  544.    As you all know all programs has its bugs, but in order to find all
  545. bugs I rely on your help. If the program acts strange please send me a
  546. message with _a lot of_ information about the strange behaviour.
  547.  
  548.    You can send bugreports in three ways:
  549.  
  550.   1. Post them in XENOLINK_UTIL (easiest) to 'Magnus Lilja'.
  551.  
  552.   2. Write a NetMail to 'Magnus Lilja' at 2:201/244.0 .
  553.  
  554.   3. Send a e-mail (fastest) to lilja@lysator.liu.se .
  555.  
  556.    The last one is the fastest and you will probably have my answer
  557. within 48 hours.
  558.  
  559. Acknowledgements
  560. ================
  561.  
  562.    Special thanks to:
  563.  
  564.    Mikael Abrahamsson    for ideas, alpha/beta testing.
  565.  
  566.    Bruce Lawson          for bugreports and ideas.
  567.  
  568.    Jonathan Forbes       for Xenolink and LZ.
  569.  
  570.    Micke Persson         for ideas and testing.
  571.  
  572.    and to all sysops active in XENOLINK_UTIL that gives me ideas and
  573. bugreports.
  574.  
  575.    Thanks to Commodore-Amiga for a great computer, SAS/C for their fine
  576. C-environment (V6.x)
  577.  
  578.